package com.ruoyi.biz.service;

import java.util.List;
import com.ruoyi.biz.domain.BizSingleLineAnnotation;

/**
 * 单条直线标注Service接口
 * 
 * @author cc
 * @date 2025-11-11
 */
public interface IBizSingleLineAnnotationService 
{
    /**
     * 查询单条直线标注
     * 
     * @param id 单条直线标注主键
     * @return 单条直线标注
     */
    public BizSingleLineAnnotation selectBizSingleLineAnnotationById(Long id);

    /**
     * 查询单条直线标注列表
     * 
     * @param bizSingleLineAnnotation 单条直线标注
     * @return 单条直线标注集合
     */
    public List<BizSingleLineAnnotation> selectBizSingleLineAnnotationList(BizSingleLineAnnotation bizSingleLineAnnotation);

    /**
     * 新增单条直线标注
     * 
     * @param bizSingleLineAnnotation 单条直线标注
     * @return 结果
     */
    public int insertBizSingleLineAnnotation(BizSingleLineAnnotation bizSingleLineAnnotation);

    /**
     * 修改单条直线标注
     * 
     * @param bizSingleLineAnnotation 单条直线标注
     * @return 结果
     */
    public int updateBizSingleLineAnnotation(BizSingleLineAnnotation bizSingleLineAnnotation);

    /**
     * 批量删除单条直线标注
     * 
     * @param ids 需要删除的单条直线标注主键集合
     * @return 结果
     */
    public int deleteBizSingleLineAnnotationByIds(Long[] ids);

    /**
     * 删除单条直线标注信息
     * 
     * @param id 单条直线标注主键
     * @return 结果
     */
    public int deleteBizSingleLineAnnotationById(Long id);

    /**
     * 根据图纸id查询所有线路
     * @param drawingId
     * @return
     */
    public List<BizSingleLineAnnotation> getLinesByDrawingId(Long drawingId);

    /**
     * 批量插入单条直线标注
     *
     * @param annotations 单条直线标注
     * @return 结果
     */
    public int batchInsertBizSingleLineAnnotation(List<BizSingleLineAnnotation> annotations);
}
